Add partition key hash baseline tests for Cosmos DB Python SDK#45136
Draft
analogrelay wants to merge 1 commit intomainfrom
Draft
Add partition key hash baseline tests for Cosmos DB Python SDK#45136analogrelay wants to merge 1 commit intomainfrom
analogrelay wants to merge 1 commit intomainfrom
Conversation
Validates MurmurHash3 V1/V2 partition key hashing against baseline XML data covering singletons (undefined, null, true, false), numbers (zero, negative zero, epsilon, NaN, infinity, int64 extremes), strings (empty through 2KB), and hierarchical partition key lists. Uses the production code path (PartitionKey._write_for_hashing / _write_for_hashing_v2) including string suffix bytes. Baselines can be regenerated with UPDATE_BASELINE=1.
Member
Author
|
I built this as part of developing Azure/azure-sdk-for-go#26007 and thought it would be really good if our various SDKs had one set of common tests for computing EPKs. The .NET SDK has baseline tests like this, and this is a slight iteration on those (which I plan to roll in to other SDKs too). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds baseline tests validating MurmurHash3 V1/V2 partition key hashing against known-good values.
Test coverage (58 tests)
Design
PartitionKey._write_for_hashing/_write_for_hashing_v2) including string suffix bytes, so tests validate the actual SDK behavior end-to-end.UPDATE_BASELINE=1 pytest tests/test_partition_key_hash_baseline.py.PartitionKeyHashBaselineTest, with expected hash values regenerated from the Python SDK's production serialization path.